﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gunningine
{
    public abstract class Texture : RenderResource
    {
        /// <summary>
        /// RenderSystem id.
        /// </summary>
        public int Id { get; protected set; }

        /// <summary>
        /// Width of texture.
        /// </summary>
        public int Width { get; private set; }

        /// <summary>
        /// Height of texture.
        /// </summary>
        public int Height { get; private set; }

        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="id">RenderSystem id</param>
        /// <param name="width">texture width.</param>
        /// <param name="height">texture height.</param>
        public Texture(int width, int height, int channels, IntPtr data)
        {
            this.Width = width;
            this.Height = height;
        }

        public abstract void Bind();

        public abstract void Unbind();
    }
}
